# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Kingdom Hearts 2 Template

game: Kingdom Hearts 2
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    Kingdom Hearts 2: 2.0.0 # Version of the world required for this yaml to work as expected.

Kingdom Hearts 2:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  LevelDepth:
    # Determines How many locations you want on levels
    # 
    # Level 50: 23 checks spread through 50 levels.
    # Level 99: 23 checks spread through 99 levels.
    # 
    # Level 50 sanity: 49 checks spread through 50 levels.
    # Level 99 sanity: 98 checks spread through 99 levels.
    # 
    # Level 1: no checks on levels(checks are replaced with stats)
    level_50: 50
    level_99: 0
    level_50_sanity: 0
    level_99_sanity: 0
    level_1: 0

  Sora_Level_EXP:
    # Sora Level Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Valor_Form_EXP:
    # Valor Form Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Wisdom_Form_EXP:
    # Wisdom Form Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Limit_Form_EXP:
    # Limit Form Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Master_Form_EXP:
    # Master Form Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Final_Form_EXP:
    # Final Form Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Summon_EXP:
    # Summon Exp Multiplier
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  Schmovement:
    # Level of Progressive Movement Abilities You Start With
    level_0: 0
    level_1: 50
    level_2: 0
    level_3: 0
    level_4: 0

  RandomGrowth:
    # Amount of Random Progressive Movement Abilities You Start With
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20

  AntiForm:
    # Add Anti Form to the pool
    'false': 50
    'true': 0

  Promise_Charm:
    # Add Promise Charm to the pool
    'false': 50
    'true': 0

  Goal:
    # Win Condition
    # Three Proofs: Find the 3 Proofs to unlock the final door.
    # 
    # Lucky Emblem Hunt: Find required amount of Lucky Emblems.
    # 
    # Hitlist (Bounty Hunt): Find required amount of Bounties.
    # 
    # Lucky Emblem and Hitlist: Find the required amount of Lucky Emblems and Bounties.
    three_proofs: 0
    lucky_emblem_hunt: 50
    hitlist: 0
    hitlist_and_lucky_emblem: 0

  FinalXemnas:
    # Kill Final Xemnas to Beat the Game.
    # 
    # This is in addition to your Goal.
    # 
    # I.E. get three proofs+kill final Xemnas
    'false': 0
    'true': 50

  LuckyEmblemsAmount:
    # Number of Lucky Emblems that are in the pool.
    # 
    # If Goal is not Lucky Emblem Hunt or Lucky Emblem and Hitlist this does nothing.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 60
    40: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-60: 0 # random value between 1 and 60

  LuckyEmblemsRequired:
    # Number of Lucky Emblems to collect to Win/Unlock Final Xemnas' Door.
    # 
    # If Goal is not Lucky Emblem Hunt or Lucky Emblem and Hitlist this does nothing.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 60
    35: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-60: 0 # random value between 1 and 60

  BountyAmount:
    # Number of Bounties that are in the pool.
    # 
    # If Goal is not Hitlist or Lucky Emblem and Hitlist this does nothing.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 26
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-26: 0 # random value between 1 and 26

  BountyRequired:
    # Number of Bounties to collect to Win/Unlock Final Xemnas Door.
    # 
    # If Goal is not Hitlist or Lucky Emblem and Hitlist this does nothing.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 26
    7: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-26: 0 # random value between 1 and 26

  BountyStartingHintToggle:
    # Start with Bounties Hinted
    'false': 50
    'true': 0

  Keyblade_Minimum:
    # Minimum Stats for Keyblades
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20

  Keyblade_Maximum:
    # Maximum Stats for Keyblades
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    7: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20

  WeaponSlotStartHint:
    # Start with Weapon Slots' Hinted
    'false': 50
    'true': 0

  FightLogic:
    # The level of logic to use when determining what fights in each KH2 world are beatable.
    # 
    # Easy: For Players not very comfortable doing things without a lot of tools.
    # 
    # Normal: For Players somewhat comfortable doing fights with some of the tools.
    # 
    # Hard: For Players comfortable doing fights with almost no tools.
    easy: 0
    normal: 50
    hard: 0

  FinalFormLogic:
    # Determines forcing final form logic
    # 
    # No Light and Darkness: Light and Darkness is not in logic.
    # Light And Darkness: Final Forcing with light and darkness is in logic.
    # Just a Form: All that requires final forcing is another form.
    no_light_and_darkness: 0
    light_and_darkness: 50
    just_a_form: 0

  AutoFormLogic:
    # Have Auto Forms levels in logic.
    'false': 50
    'true': 0

  DonaldGoofyStatsanity:
    # Toggles if on Donald and Goofy's Get Bonus locations can be any item
    'false': 0
    'true': 50

  FillerItemsLocal:
    # Make all dynamic filler classified items local. Recommended when playing with games with fewer locations than kh2
    'false': 0
    'true': 50

  Visitlocking:
    # Determines the level of visit locking
    # 
    # No Visit Locking: Start with all 25 visit locking items.
    # 
    # 
    # Second Visit Locking: Start with 13 visit locking items for every first visit.
    # 
    # 
    # First and Second Visit Locking: One item for First Visit Two For Second Visit
    no_visit_locking: 0
    second_visit_locking: 0
    first_and_second_visit_locking: 50

  RandomVisitLockingItem:
    # Start with random amount of visit locking items.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 25
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-25: 0 # random value between 0 and 25

  SuperBosses:
    # Terra Sephiroth and Data Fights Toggle.
    'false': 0
    'true': 50

  Cups:
    # Olympus Cups Toggles
    # No Cups: All Cups are placed into Excluded Locations.
    # Cups: Hades Paradox Cup is placed into Excluded Locations
    # Cups and Hades Paradox: Has Every Cup On.
    no_cups: 50
    cups: 0
    cups_and_hades_paradox: 0

  SummonLevelLocationToggle:
    # Toggle Summon levels to have locations.
    'false': 50
    'true': 0

  AtlanticaToggle:
    # Atlantica Toggle
    'false': 50
    'true': 0

  CorSkipToggle:
    # Toggle for Cor skip.
    # 
    # Tools depend on which difficulty was chosen on Fight Difficulty.
    # 
    # Toggle does not negate fight logic but is an alternative.
    # 
    # Full Cor Skip is also affected by this Toggle.
    'false': 50
    'true': 0

  CustomItemPoolQuantity:
    # Add more of an item into the itempool. Note: You cannot take out items from the pool.
    Aerial Dodge: 4
    Anti Form: 1
    Battlefields of War: 2
    Beast's Claw: 2
    Blizzard Element: 3
    Bone Fist: 2
    Chicken Little: 1
    Cure Element: 3
    Disney Castle Key: 2
    Dodge Roll: 4
    Final Form: 1
    Fire Element: 3
    Genie: 1
    Glide: 4
    High Jump: 4
    Ice Cream: 3
    Identity Disk: 2
    Limit Form: 1
    Magnet Element: 3
    Master Form: 1
    Membership Card: 2
    Namine Sketches: 1
    Peter Pan: 1
    Promise Charm: 1
    Proof of Connection: 1
    Proof of Nonexistence: 1
    Proof of Peace: 1
    Proud Fang: 2
    Quick Run: 4
    Reflect Element: 3
    Scimitar: 2
    Skill and Crossbones: 2
    Stitch: 1
    Sword of the Ancestor: 2
    Thunder Element: 3
    Torn Page: 5
    Valor Form: 1
    Way to the Dawn: 2
    Wisdom Form: 1

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
